Users of traditional circuit-switched telephone systems, such as the Public Switched Telephone Network (PSTN), have recognized the need to route and queue calls. Call routing and queuing are typically performed in customer service centers or call centers and other locations that handle large volumes of calls. Typically, a large number of calls are placed to a single telephone number, often known as a virtual telephone address or virtual telephone number. A virtual telephone address is often a telephone number that does not correspond to a real telephone endpoint where a physical device is provided for receiving the call. Rather, a virtual telephone address may be a telephone number where calls are received at a virtual endpoint for call routing to another endpoint. For example, a virtual telephone address may correspond to a queue or even a group of telephone endpoints. On the other hand, a real telephone address typically corresponds to a telephone endpoint where a physical device, such as a telephone, may receive and place calls.
An automatic call distributor (ACD) is a device or system that typically performs call routing and queuing functions. The ACD may route calls to an agent or service representative and/or queue the calls until a service representative is available.
The following capabilities are features sometimes found in traditional circuit-switched telephony ACDs.
Call Routing: Calls may be addressed to a virtual telephone address that causes special call routing logic, for example in the ACD, to be applied before the call is forwarded to an actual telephony endpoint. When a call is addressed to a virtual telephone address, an ACD typically directs or routes the call to some other telephone address (real or virtual). The ACD commonly routes the call based on, for example, rules known to the ACD, properties of the call such as time of day, caller telephone address, etc., direction from an external application via a computer-telephony integration (CTI) link, or voice interaction with the caller to determine additional information about the caller's identity, intention, etc.
Call Queuing: Calls may be addressed to a virtual telephone address at which calls may wait for available resources before being processed. A virtual telephone address is usually a telephone address that corresponds to a queue or a group of telephone endpoints. Endpoint groups can be static or can dynamically change in real time, for example, as customer service agents report for work or leave after their shifts end. Endpoint groups can be comprised of physical telephone addresses, or can be a virtual group comprised of a set of customer service representatives selected according to their identities, work assignments and/or skills. Calls received at the virtual telephone address may be placed in a queue until the calls can be routed to the appropriate service representative or agent.
Call Treatment/Processing: While calls are waiting in queues, it may be necessary to play audio to the caller and/or to accept dual-tone multi-frequency (DTMF) tones and/or speech input from the caller. This interaction may be controlled by a system such as an ACD or an application to periodically inform the caller of their position in queue, expected waiting time, and other information. Features such as call queuing, routing and call treatment are almost universally implemented as proprietary capabilities within a telephone system.
While voice calls have traditionally been transported over the public circuit-switched networks, such as the PSTN, voice calls are now commonly transported over packet-switched networks such as the Internet or Internet Protocol (IP) networks, as examples. IP typically refers to the Internet Protocol (IP) as defined by the IETF standard 5, RFC 791, adopted in September, 1981 (“IP Specification”). Telephone calls made over IP networks are often referred to as Voice Over IP (VoIP) calls or IP Telephony calls. In general, telephone calls made over packet switched networks, such as IP networks or the Internet, will be referred to herein as packet telephony calls. Systems that are involved in the transmission of voice calls over packet-switched networks will be referred to herein as packet telephony systems.
Call routing and queuing capabilities are less common in packet telephony systems. Existing implementations in packet telephony systems generally continue the commercial model used in traditional circuit telephony systems, namely that call routing, queuing and processing functions are typically available only within proprietary packet telephony products or systems. As a result, it can be very difficult to change the product, add or modify features or integrate third party products to such a packet telephony system.